// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/uber/kraken/lib/torrent/scheduler (interfaces: Scheduler)

// Package mockscheduler is a generated GoMock package.
package mockscheduler

import (
	gomock "github.com/golang/mock/gomock"
	core "github.com/uber/kraken/core"
	connstate "github.com/uber/kraken/lib/torrent/scheduler/connstate"
	reflect "reflect"
)

// MockScheduler is a mock of Scheduler interface
type MockScheduler struct {
	ctrl     *gomock.Controller
	recorder *MockSchedulerMockRecorder
}

// MockSchedulerMockRecorder is the mock recorder for MockScheduler
type MockSchedulerMockRecorder struct {
	mock *MockScheduler
}

// NewMockScheduler creates a new mock instance
func NewMockScheduler(ctrl *gomock.Controller) *MockScheduler {
	mock := &MockScheduler{ctrl: ctrl}
	mock.recorder = &MockSchedulerMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockScheduler) EXPECT() *MockSchedulerMockRecorder {
	return m.recorder
}

// BlacklistSnapshot mocks base method
func (m *MockScheduler) BlacklistSnapshot() ([]connstate.BlacklistedConn, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BlacklistSnapshot")
	ret0, _ := ret[0].([]connstate.BlacklistedConn)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BlacklistSnapshot indicates an expected call of BlacklistSnapshot
func (mr *MockSchedulerMockRecorder) BlacklistSnapshot() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BlacklistSnapshot", reflect.TypeOf((*MockScheduler)(nil).BlacklistSnapshot))
}

// Download mocks base method
func (m *MockScheduler) Download(arg0 string, arg1 core.Digest) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Download", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Download indicates an expected call of Download
func (mr *MockSchedulerMockRecorder) Download(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Download", reflect.TypeOf((*MockScheduler)(nil).Download), arg0, arg1)
}

// Probe mocks base method
func (m *MockScheduler) Probe() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Probe")
	ret0, _ := ret[0].(error)
	return ret0
}

// Probe indicates an expected call of Probe
func (mr *MockSchedulerMockRecorder) Probe() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Probe", reflect.TypeOf((*MockScheduler)(nil).Probe))
}

// RemoveTorrent mocks base method
func (m *MockScheduler) RemoveTorrent(arg0 core.Digest) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RemoveTorrent", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// RemoveTorrent indicates an expected call of RemoveTorrent
func (mr *MockSchedulerMockRecorder) RemoveTorrent(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveTorrent", reflect.TypeOf((*MockScheduler)(nil).RemoveTorrent), arg0)
}

// Stop mocks base method
func (m *MockScheduler) Stop() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Stop")
}

// Stop indicates an expected call of Stop
func (mr *MockSchedulerMockRecorder) Stop() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stop", reflect.TypeOf((*MockScheduler)(nil).Stop))
}
